1. Field of the Invention
The present invention generally relates to the installation of device drivers in an information handling system. More particularly, the operating system configuration for managing an expanded memory card is improved such that an operator, or operator assist program can easily determines usable portions of system memory.
2. Description of Related Art
Typically an Expanded Memory Manager (EMM) device driver will be installed using a line placed in a CONFIG.SYS file within the computer operating system, such as the Disk Operating System (DOS). The EMM will then install in different manners depending on information provided, such as /P0000, /FC080, and the like wherein these commands provide information regarding the physical memory locations within the DOS memory area (0-1 Meg) and the manner in which this memory will be used.
A standard CONFIG.SYS file generally includes many arcane and unreadable command parameters. The problem with existing device driver installation lines in the CONFIG.SYS file is that it is incomprehensible to a normal user, i.e. there is no relationship between the characters, or the character positions and the memory locations accessible by the operating system. Further, a great deal of time is required for application software parsing of CONFIG.SYS parameters and a lot of support code is needed, due to the complexity and number of the commands. Additionally, conflicting situations are likely to occur, wherein a single memory area may be duplicated across different commands, and many potential error situations are possible which are difficult to detect.
IBM TDB "Emulation of an Expanded Memory Adapter using a Microprocessor", volume 32, no. 1, June 1989, page 381, discusses using an Intel (Trademark of Intel Corp.) 80286 processor to emulate an expanded memory adapter. This technique uses memory in excess of the first megabyte of real memory, accessible by DOS, to emulate the expanded memory adapter. A part of the real memory can be reserved for use by a move block mechanism. IBM TDB "Alternative Paging Access", volume 32, no. 8B, January 1990, page 128, describes a technique for accessing a page of memory by a paging device, while at the same time prohibiting standard access to that page. The paging operations are performed with translated access (while the page is being read into the memory), but a program application is denied access to the page until it is fully in the memory and renamed. IBM TDB "Automatic Unlimited Dynamic Memory Relocation", volume 31, no. 11, April 1989, page 178, is an algorithm that can be applied to computer systems with expanded memory to provide additional usable memory. A translate table is provided with contents that correlate a particular computer address with a specific byte in the main memory. Thus, by changing the contents of a translate table, the related main memory location is also changed. IBM TDB "Personal Computer Extended Memory Card With Direct Memory Access", volume 30, no. 7, December 1987, page 175, describes a method of eliminating the need to run a CPU in both a real address mode and a virtual address mode. A direct memory access (DMA) memory to memory transfer can be performed, wherein a device driver is called, instead of an interrupt, that will control a specialized DMA extended memory card. The device driver passes the read address, write address and length to the DMA controller, which transfers the data. IBM TDB "Method to Install the Displaywriter/Personal Computer Attach Program Into PC Jr.'s Limited Memory Space", volume 28, no. 5, October 1985, page 2140, discusses a method of installing the Displaywriter/Personal Computer (DWPC) program in a PC Jr. The DWPC is loaded as a device driver which determines the machine type by reading from a memory location. If the machine is a PC Jr., then display refresh scanning is inhibited and the DWPC is moved into the refresh buffer.
The user's guide for the Quarterdeck expanded memory manager--386 (QEMM) product states, at page 14, that portions of memory can be included or excluded from control of the expanded memory manager by specifying the address in hexadecimal numbers of the included or excluded portion. A QEMM.COM program provides a menu (see page 24) that gives a user information that can be used to optimize memory. For example, the expanded memory currently available, types of memory existing in the first megabyte, areas of memory that can be accessed, and the like. It should be noted that QEMM does not provide an easily usable EMM device driver installation line in the CONFIG.SYS file, but presents information through a menu from a separate program.
"Dual Use of CONFIG.SYS Device Driver Installation Line", Research Disclosure, April 1992, No. 336, discloses an installation program that finds, what it considers to be usable portions of memory. Subsequently, an application program may activate a hardware device which would then activate some portion of memory. A user can then look up the memory location on the device that is used by the application and record the location on the EMM device driver installation line in the CONFIG.SYS file such that the EMM driver will not use the same memory.
U.S. Pat. No. 4,926,322 describes an expanded memory manager that provides expanded memory without additional hardware if extended memory is available. This expanded memory manager is a DOS device driver that searches for memory in the RAM. This device driver is structured according to the LIM specification. U.S. Pat. No. 4,974,151 generally discusses configuring devices in an open computer system.
It can be seen that the cited prior art generally relates to the installation and operation of an expanded memory and lacks any user friendly installation techniques in the device driver installation line. Therefore, it can be seen that a means of installing an expanded memory manager device driver which will provide a user with relevant, usable information, and ensure that memory locations will not be duplicated and errors are minimized would be very desirable.